package com.cykj.pos.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import com.cykj.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.HashMap;
import java.math.BigDecimal;

/**
 * 提现记录对象 biz_withdrawal_records
 *
 * @author weijianbo
 * @date 2025-02-12
 */
@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@Accessors(chain = true)
@TableName("biz_withdrawal_records")
public class BizWithdrawalRecords implements Serializable {

private static final long serialVersionUID=1L;


    /** $column.columnComment */
    @TableId(value = "id")
    private Long id;

    /** 渠道id */
    @Excel(name = "渠道id")
    private Long channelId;

    /** 渠道名称 */
    @Excel(name = "渠道名称")
    private String channelName;

    /** 代理id */
    @Excel(name = "代理id")
    private Long userId;

    /** 代理名称 */
    @Excel(name = "代理名称")
    private String userName;

    /** 代理电话 */
    @Excel(name = "代理电话")
    private String merchPhone;

    /** 提现名称 */
    @Excel(name = "提现名称")
    private String withdrawalName;

    /** 提现账号 */
    @Excel(name = "提现账号")
    private String withdrawalAccount;

    /** 1分润2奖励 */
    @Excel(name = "//1 结算账户 2 机具返现 3 奖励")
    private String withdrawalType;

    /** 0未打款1已打款2已退回 */
    @Excel(name = "0未打款1已打款2已退回3进行中")
    private String payStatus;

    /** 提现金额 */
    @Excel(name = "提现金额")
    private BigDecimal withdrawalAmount;

    /** 实际到账金额 */
    @Excel(name = "实际到账金额")
    private BigDecimal arrivalAmount;

    /** 钱包剩余金额 */
    @Excel(name = "钱包剩余金额")
    private BigDecimal walletAmount;

    /** 手续费 */
    @Excel(name = "手续费")
    private BigDecimal payFee;

    /** 申请时间 */
    @Excel(name = "申请时间" , width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date withdrawalTime;

    /** $column.columnComment */
    @Excel(name = "申请时间")
    private String var1;

    /** $column.columnComment */
    @Excel(name = "申请时间")
    private String var2;

    /** $column.columnComment */
    @Excel(name = "申请时间")
    private String var3;


    private String orderNo;

    @TableField(exist = false)
    private Map<String, Object> params = new HashMap<>();

    @TableField(exist = false)
    private int pageNo;

    @TableField(exist = false)
    private int pageSize;

    @TableField(exist = false)
    private String contractStatus;
    @TableField(exist = false)
    private List<Long> userIds;

    @TableField(exist = false)
    private String beginTime;
    @TableField(exist = false)
    private String endTime;
    @TableField(exist = false)
    private String deptId;

    private String remark;
}
